package cn.zwx.goods.svc.rpc.facade;

import cn.zwx.base.entity.ResponseEntity;
import cn.zwx.base.exception.BizWrapException;
import cn.zwx.base.utils.PageUtil;
import cn.zwx.goods.svc.rpc.dto.*;
import cn.zwx.goods.svc.rpc.vo.AttrInfoVO;
import cn.zwx.goods.svc.rpc.vo.InsertAttrVO;

/**
 * @author zhangwenxue
 */
public interface DubboAttrService {

    /**
     * 分页查询属性列表接口
     * @param dto 请求参数
     * @return 返回参数
     * @throws BizWrapException 业务异常
     */
    ResponseEntity<PageUtil<AttrInfoVO>> selectPageList(AttrPageListDTO dto) throws BizWrapException;


    /**
     * 新属性接口
     * @param dto 请求参数
     * @return 返回参数
     * @throws BizWrapException 业务异常
     */
    ResponseEntity<InsertAttrVO> insertAttr(InsertAttrDTO dto)throws BizWrapException;

    /**
     * 修改属性接口
     * @param dto 请求参数
     * @return 返回参数
     * @throws BizWrapException 业务异常
     */
    ResponseEntity<Void> modifyAttr(ModifyAttrDTO dto)throws BizWrapException;

    /**
     * 删除属性接口
     * @param dto 请求参数
     * @return 返回参数
     * @throws BizWrapException 业务异常
     */
    ResponseEntity<Void> delAttr(DeleteAttrDTO dto)throws BizWrapException;
}
